a. Field of the Invention
The present invention relates to the field of window and image management on computerized imaging and graphics display systems., and to image storage systems and methods.
b. Related Art
In computer imaging and graphics systems it is often necessary or desirable to have several different related or unrelated images displayed and being processed on the video monitor simultaneously.
For example, in the architecture field it may be useful to display several different views of an object at the same time. In the field of simulated training, several objects, displays and program outputs may need to be visible to the trainee simultaneously in order to simulate a real world environment.
In order to accomplish simultaneous display of images, computer systems utilize a concept known as windowing. Each window on the display screen acts as a viewport for an image. The image appearing in each viewport may be controlled by a separate process, executed through an operating system.
In conventional computer systems a number of rectangular shaped windows may be displayed simultaneously and arranged arbitrarily on the monitor. Some windows may appear side-by-side while others may overlap. Operations such as "pan" and "zoom" may also be performed on some windows but not on others. An example of a graphics display system utilizing windowing techniques is shown in U.S. Pat. No. 4,533,910, to Sukonick et al., entitled GRAPHICS DISPLAY SYSTEM WITH VIEWPORTS OF ARBITRARY LOCATION AND CONTENT, which is hereby incorporated by reference in its entirety as if set forth in full below.
The manipulation and management of windows present many problems for the computer programmer and designer. Many conventional imaging and graphics systems display two or more overlapping windows. When this occurs, the window(s) appearing in the foreground may partially obscure a portion of the window(s) appearing in the background.
In order for windows to appear overlapped, the image in the background window must be "clipped" to the contours of the unobscured (visible) portion. A conventional way to clip images to the contours of a window is by a software application which splits the unobscured portion into "tiles" (rectangular shaped pieces). Whenever an operation is performed in the window, it is clipped against each tile in turn so that the displayed image appears only in the unobscured portion of the window.
When the foreground window is subsequently moved or deleted, the background window must be repaired to resume its original shape and content. A conventional solution to this problem is to retain in memory a "display list" of the operations necessary to recreate the obscured portion of the window, and to rerun these operations when the overlap is removed.
While the tile clipping and rerunning of the display list allows for recreation and repair of the window, it is time consuming both in terms of visual effect and processor loading. Further, the tile clipping/display list technique can be difficult or even impossible to manage if complex images and operations are involved. This is particularly true if the operations involve real time images input from a camera or other video source.
While hardware solutions, such as those disclosed in U.S. Pat. No. 4,642,621, to Nemoto et al., have been published, these conventional solutions limit the clipped area to a rectangular shape. See, U.S. Pat. No. 4,642,621 to Nemoto et al, entitled IMAGE DISPLAY SYSTEM FOR COMPUTERIZED TOMOGRAPHS, which is hereby incorporated by reference in its entirety as if it were set forth in full below.
An alternative method which might be considered for achieving a windowed display is to use video rate selection of image data from the video data output of the screen refresh memory during display. Whilst this method would allow efficient manipulation of displayed windows, it suffers from several drawbacks. First, as the resolution of display monitors increases, it is becoming more difficult to calculate and manipulate the data at video rate. Secondly, it is a complex problem to select arbitrary pixels for display during the active line time with an image memory made with video RAMs. Thirdly, as it is usually necessary to be able to display data from any part of the screen refresh memory, the entire memory must be dual ported; this results in an inherent increase in cost. If it is required to be able to manipulate many full screen sized images, the cost of a dual ported image memory can become detrimental and even prohibitive.
It would be highly desirable to have a fast and efficient alternative to video rate window processing and to be able to perform window clipping and repair operations quickly and with minimalized CPU loading. It would also be useful to have a window management system which can handle involved operations without the need for complex or exotic software algorithms. Additionally, it would be very desirable to be able to clip an image to a window of any arbitrary shape.
It should be understood that the term "image" is sometimes used in the art to mean a picture defined from data acquired from a real object, while a "graphic" is sometimes used to refer to a synthetic or programmed picture. For the purposes of this application, the term image is used in the broad sense, and refers to any picture, regardless of how it is generated, and regardless of the source from which the data is derived.
Several books are available which teach concepts such as clipping, windowing and graphics processing in general. Excellent discussions of these and other related concepts can be found in the following books: Principles of Interactive Computer Graphics (second edition), authors William M. Newman and Robert F. Sproul, (McGraw Hill Publishing Company, 10th printing, New York, 1984); COMPUTER GRAPHICS--A Programming Approach, author Steven Harrington, (McGraw Hill Publishing Company, 1st Printing, New York, 1983); Computer Graphics, authors Donald Hearn and M. Pauline Baker, Prentice-Hall International (UK) Limited (1986). All of the above named books are, in their entirety, incorporated by reference herein as if each were set forth in full below.